/*!
 * @file gfxPosteffects.hh
 * @brief Klasa zarządzająca postefektami
 */

#ifndef __ENGINE_GFX_GFXPOSTEFFECTS_HH
#define __ENGINE_GFX_GFXPOSTEFFECTS_HH

#include "engine/basic/texture.hh"
#include "engine/basic/shader.hh"

/*!
 * @brief Zarządzanie postefektami
 */
class gfxPosteffects{
public:
	/*!
	 * @brief Konstruktor
	 * @return Obiekt
	 */
	gfxPosteffects();

	/*!
	 * @brief Dodawanie postefektów
	 */
	void paintAll();

	/*!
	 * @brief Tekstura robocza, rozmiaru ekranu
	 */
	texture *tempTexture;

private:
	/*!
	 * @brief Informacja czy bloomFunc jest aktywny
	 */
	int *bloomActive;

	/*!
	 * @brief Shader dla blooma
	 */
	shader *bloomShader;

	/*!
	 * @brief Dodanie blooma do wyrenderowanej sceny
	 */
	void bloomFunc();

};

#else
class gfxPosteffects;
#endif
